U.S. Patent application Ser. No. 07/427,160, describes a two dimensional array of programmable logic cells. Each of these cells accepts two "A" inputs, one each from two of its nearest neighbor cells in the array and two "B" inputs, one each from the other two of its nearest neighbors. Each cell performs selected operations on one of the "A" inputs and one of the "B" inputs to generate outputs on two "A" outputs and two "B" outputs. There are exactly four unique combinations of inputs to (or outputs from) such cells, i.e., the "A" inputs can come from the nearest neighbor cells to (1) the North and East, (2) the North and West, (3) the South and East, or (4) the South and West and the "B" inputs come from the other two cells. The four cells having these four combinations of inputs are identified as cells 20A, 20B, 20C and 20D of FIGS. 1 and 2A-2D of the '160 application. As discussed in the '160 application, these four combinations of inputs can be recorded as four orientations of the cell. The limitations on the directions from which the inputs are received and the directions in which the outputs are sent impose severe design limitations on the use of such cells in an array of cells. If cells of only one type are used, signal propagation in the array can go in only one direction in each dimension. Alternatively, as shown in FIG. 1 of '160 application, the four cell types can be assembled into one array to provide for signal flow in both directions in both dimensions. However, this arrangement tends to be inefficient in its use of cells.
One object of the present invention is to provide a logic cell for use in a programmable logic array, wherein each logic cell is functionally identical.
Another object of the present invention is to provide a means for transmitting data within the array by means other than the interconnection of individual logic cells so as to minimize the time required to transmit data within the array.